package com.test.service;

import java.util.concurrent.ExecutionException;

public interface MainService {

    /**
     * 传统方式
     * @param userId
     * @return
     * @throws InterruptedException
     */
    String test1(String userId) throws InterruptedException;

    /**
     * 使用Future方式（JDK1.5）
     * @param userId
     * @return
     * @throws InterruptedException
     */
    String test2(String userId) throws InterruptedException, ExecutionException;

    /**
     * 使用CountDownLatch方式（JDK1.5）
     * @param userId
     * @return
     * @throws InterruptedException
     */
    String test3(String userId) throws InterruptedException, ExecutionException;

    /**
     * 使用CompletableFuture方式（JDK8）
     * @param userId
     * @return
     * @throws InterruptedException
     */
    String test4(String userId) throws InterruptedException, ExecutionException;

    /**
     * 使用CompletableFuture方式（JDK8）,使用线程池
     * @param userId
     * @return
     * @throws InterruptedException
     */
    String test5(String userId) throws InterruptedException, ExecutionException;

}
